package com.cc.pms.service;

import com.cc.common.core.domain.R;
import com.cc.common.core.page.PageQuery;
import com.cc.common.core.page.PageVo;
import com.cc.pms.domain.TeamApplication;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cc.pms.domain.vo.TeamApplicationVo;

import java.util.List;

/**
 * <p>
 * 记录用户申请加入队伍的请求及处理状态 服务类
 * </p>
 *
 * @author corleone
 * @since 2025-04-19
 */
public interface ITeamApplicationService extends IService<TeamApplication> {

    R<Boolean> handleApplication(TeamApplication application);

    R<Long> applicationTeam(TeamApplication application);

    PageVo<TeamApplicationVo> queryMineApplicationTeamHistory(PageQuery query);

    PageVo<TeamApplicationVo> queryManageApplicationTeamHistory(PageQuery query , Long teamId);

    void removeMemberApplication(Long teamId, List<Long> collect);


    void removeApplying(Long teamId);

    void removeByTeamId(Long teamId);
}
